const path = require('path')
const orderModel = require(path.join(__dirname,"../model/orderModel"))

/**
 * 创建一条订单，并且去结算页面
 */
exports.create = (req,res,next) => {
    // 获取要下单的商品ids
    const items = req.query.ids

    // 调用服务器接口生成订单
    orderModel.add(req.session.user.id,items).then(order=>{
        // 根据订单号去查询订单信息
        orderModel.single(order.order_number).then(data=>{
            // 渲染结算页面
            res.locals.orderInfo = data

            res.render(path.join(__dirname,"../views/checkout"))
        }).catch(err=>next(err))
    }).catch(err=>next(err))
}

/**
 * 获取订单页面
 */
exports.index = (req,res) => {
    res.render(path.join(__dirname,"../views/orders"))
}

/**
 * 获取订单列表数据
 */
exports.all = (req,res) => {
    if (req.session.user) { // 登录了
        orderModel.all(req.session.user.id).then(data=>{
            res.json(data)
        }).catch(()=>res.json([]))
    } else { // 未登录
        res.json([])
    }
}

/**
 * 删除某笔订单
 */
exports.delete = (req,res) => {
    // 删除
    orderModel.delete(req.query.order_number).then(()=>{
        if (req.session.user) { 
            // 重新查询，并且返回数据回去
            orderModel.all(req.session.user.id).then(data=>{
                res.json(data)
            }).catch(()=>res.json([]))
       } else {
            res.json([])
       }
    }).catch(()=>res.json([]))
}